SQL
SQL I 資料庫
資料庫?! 高中不是學過了….那就在複習一次吧 哈哈
Structure Query Language(SQL)
一種特定目的程式語言,用於管理關聯式資料庫管理系統(RDBMS),或在關係流資料管理系統(RDSMS)中進行流處理。(當然還有另一種東西叫 NoSQL) 指令參考
DB(DataBase)
- 廣義:放置資料的地方
- 狹義:公共資料群組的集合
(宿舍 MAC 的管理也會用)
DB 的優點
- 數據獨立
- 數據共享
- 減少紙張
- 安全
- Redundancy 冗餘 : )
說了這麼多先下載一下 壓壓驚
介紹 DB
DataTable
資料庫的儲存方式長的很像 Excel
橫看 Row 直看 Co
DataBase 結構
bit -> byte -> field -> record -> table -> data base
- 一個 db server 可以有很多 database(資料庫)
- 一個 database 可以有很多 datatable(資料表)
- 一個 datatable 可以有很多 record(資料紀錄)
- 一個 record 可以有很多 field/column(資料欄位)
database vs database management system
資料庫以儲存架構來分,常見的有四種
- 階層式資料模型(hierarchical database)
- 網狀資料模型(network database)
- 關聯式資料模型(relational database)
- 物件導向式資料庫(object-oriented database)
example
--create table list(Class_name,Class_id,name);
--insert into list(Class_name,Class_id) VALUES ("四資管二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四電子二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四資管二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四資管二A","B10823027");
--delete from `list` where(`Class_name` = "四電子二A");
傳說中資料庫有四種基礎命
也就是 SUID
中文 | 英文 |
---|---|
Select | 選擇 |
Update | 更新 |
Insert | 插入 |
Delete | 刪除 |
概念跟 CRUD 一樣
DB 建立
create database [database_name];
再建立 DT(在 DB 下)
create datatable [datatable_name]( col1 datatype, col2 datatype, col3 datatype,);
create table customers ( c_id int, name varchar(50), address varchar(255), phone varchar(20));
Insert 插入
insert into `class` (`class_name`,`class_id`) values ("四資管二a,"b10823027");
insert into `class` values ("四企管二a","4");
--插入全欄位值 且 value 插入順序正確可忽略欄位名稱
insert into `資料表` (`欄位1`,`欄位2`,...) values (“value1",“value2",...);
警告
((做完後記得按更新喔~
Delete 刪除
delete from `class` where `class_name`="四企管二z";
delete from `資料表` where 條件式;
ALTER 修改資料 增加欄位
更改資料欄位型別
alter table table_name add column_name datatype;
刪除欄位 (drop column)
alter table table_name alter column column_name datatype;
alter table table_name drop column column_name;
truncate table table_name;
///(資料表還在,資料清空)
刪除資料庫 (drop database)
database database_name;
Select 查詢
SELECT * FROM `Class`;
- "*" 為所謂的萬用字元 也就是全部的意思”
那語法總得來說就是
SELECT * FROM `資料表`;
Update 更新
UPDATE `Class` SET `Class_name`="四企管二Z" WHERE `Class_name` = "四企管二A";
UPDATE `資料表` SET `欄位名稱1`=`欄位值1`,`欄位名稱2`=`欄位值2`... [WHERE {條件式}]
備註
四企管二 A 變成 四企管二 Z 了 XD
指令變化
資料庫有很多廠商 基本上都遵循 ISO 的 SQL 標準
但是各家的指令與語法還是會有差別
(每個 DB 怎麼操作 有時候需要特別去查)
end
--create table list(Class_name,Class_id,name);
--insert into list(Class_name,Class_id) VALUES ("四資管二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四電子二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四資管二A","B10823027");
--insert into `list`(`Class_name`,`Class_id`) VALUES ("四資管二A","B10823027");
--delete from `list` where(`Class_name` = "四電子二A");